﻿Imports System.Data.SqlClient
Imports UTNComputers.clsVentas_Detalle
Imports UTNComputers.clsCliente
Imports UTNComputers.clsEmpleado
Imports UTNComputers.clsPresupuesto

Public Class clsVentas
    Private mVta_Id As Int32
    Private mVta_Fecha As Date
    Private mCli_Id As Int32
    Private mPresu_Id As Int32
    Private mEmp_Id As Int32
    Private mVta_Importe As Decimal
    Private mCliente As clsCliente
    Private mPresupuesto As clsPresupuesto
    Private mEmpleado As clsEmpleado
    Private mDetalle As List(Of clsVentas_Detalle)
    Private mCod_Suc As Int32


    '/////////////////////////////////////////////////////////
    '/ Propiedades
    '/////////////////////////////////////////////////////////


    Public Property Vta_Id() As Int32
        Get
            Return mVta_Id
        End Get
        Set(ByVal value As Int32)
            If value > 0 And value < 2000000000 Then
                mVta_Id = value
            Else
                Throw New Exception("No se puede utilizar el código de venta. El código debe ser mayor a cero (0).")
            End If
        End Set
    End Property

    Public Property Vta_Fecha() As Date
        Get
            Return mVta_Fecha
        End Get
        Set(ByVal value As Date)
            mVta_Fecha = value
        End Set
    End Property
    Public Property Cli_Id() As Int32
        Get
            Return mCli_Id
        End Get
        Set(ByVal value As Int32)
            If value >= 0 Then
                mCli_Id = value
            Else
                Throw New Exception("No se puede utilizar el código del cliente. El código debe ser mayor a cero (0).")
            End If
        End Set
    End Property
    Public Property Presu_Id() As Int32
        Get
            Return mPresu_Id
        End Get
        Set(ByVal value As Int32)
            If value >= 0 Then
                mPresu_Id = value
            Else
                Throw New Exception("No se puede utilizar el código del presupuesto. El código debe ser mayor a cero (0).")
            End If
        End Set
    End Property
    Public Property Emp_Id() As Int32
        Get
            Return mEmp_Id
        End Get
        Set(ByVal value As Int32)
            If value > 0 And value < 2000000000 Then
                mEmp_Id = value
            Else
                Throw New Exception("No se puede utilizar el código del empleado. El código debe ser mayor a cero (0).")
            End If
        End Set
    End Property
    Public Property Vta_Importe() As Decimal
        Get
            Return mVta_Importe
        End Get
        Set(ByVal value As Decimal)
            If (value > 0) Then
                mVta_Importe = value
            Else
                Throw New Exception("No se puede utilizar el importe. El importe debe ser mayor a cero (0).")
            End If
        End Set
    End Property

    Public Property Cliente() As clsCliente
        Get
            Return mCliente
        End Get
        Set(ByVal value As clsCliente)
            mCliente = value
        End Set
    End Property
    Public Property Presupuesto() As clsPresupuesto
        Get
            Return mPresupuesto
        End Get
        Set(ByVal value As clsPresupuesto)
            mPresupuesto = value
        End Set
    End Property
    Public Property Empleado() As clsEmpleado
        Get
            Return mEmpleado
        End Get
        Set(ByVal value As clsEmpleado)
            mEmpleado = value
        End Set
    End Property
    Public Property Detalle() As List(Of clsVentas_Detalle)
        Get
            Return mDetalle
        End Get
        Set(ByVal value As List(Of clsVentas_Detalle))
            mDetalle = value
        End Set
    End Property
    Public Property Cod_Suc() As Int32
        Get
            Return mCod_Suc
        End Get
        Set(ByVal value As Int32)
            If value > 0 And value < 2000000000 Then
                mCod_Suc = value
            Else
                Throw New Exception("Codigo de sucursal incorrecto")
            End If
        End Set
    End Property

    '/////////////////////////////////////////////////////////
    '/ Métodos de la Clase
    '/////////////////////////////////////////////////////////

    '---------------------------------------------------------------------
    ' Constructor de la Clase
    '---------------------------------------------------------------------
    Public Sub New()

        MyBase.New()

    End Sub
    '---------------------------------------------------------------------
    ' Destructor de la Clase
    '---------------------------------------------------------------------
    Public Sub Dispose()

        MyBase.Finalize()

    End Sub

End Class
